home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / pcl / src-16f.lha / ldb / sparc-lispregs.h < prev    next >
C/C++ Source or Header  |  1991-11-06  |  1KB  |  65 lines

  1. /* $Header: sparc-lispregs.h,v 1.1 91/05/24 18:45:57 wlott Exp $ */
  2.  
  3. #ifdef LANGUAGE_ASSEMBLY
  4.  
  5. #define GREG(num) %g/**/num
  6. #define OREG(num) %o/**/num
  7. #define LREG(num) %l/**/num
  8. #define IREG(num) %i/**/num
  9.  
  10. #else
  11.  
  12. #define GREG(num) (num)
  13. #define OREG(num) ((num)+8)
  14. #define LREG(num) ((num)+16)
  15. #define IREG(num) ((num)+24)
  16.  
  17. #endif
  18.  
  19. #define NREGS    (32)
  20.  
  21. #define ZERO    GREG(0)
  22. #define ALLOC    GREG(1)
  23. #define NULLREG    GREG(2)
  24. #define CSP    GREG(3)
  25. #define CFP    GREG(4)
  26. #define BSP    GREG(5)
  27. #define NFP    GREG(6)
  28. #define CFUNC    GREG(7)
  29.  
  30. #define NL0    OREG(0)
  31. #define NL1    OREG(1)
  32. #define NL2    OREG(2)
  33. #define NL3    OREG(3)
  34. #define NL4    OREG(4)
  35. #define NL5    OREG(5)
  36. #define NSP    OREG(6)
  37. #define NARGS    OREG(7)
  38.  
  39. #define A0    LREG(0)
  40. #define A1    LREG(1)
  41. #define A2    LREG(2)
  42. #define A3    LREG(3)
  43. #define A4    LREG(4)
  44. #define A5    LREG(5)
  45. #define OCFP    LREG(6)
  46. #define LRA    LREG(7)
  47.  
  48. #define CNAME    IREG(0)
  49. #define LEXENV    IREG(1)
  50. #define L0    IREG(2)
  51. #define L1    IREG(3)
  52. #define L2    IREG(4)
  53. #define CODE    IREG(5)
  54. #define LIP    IREG(7)
  55.  
  56. #define REGNAMES \
  57.     "ZERO",        "ALLOC",    "NULL",        "CSP", \
  58.     "CFP",        "BSP",        "NFP",        "CFUNC", \
  59.         "NL0",        "NL1",        "NL2",        "NL3", \
  60.         "NL4",        "NL5",        "NSP",        "NARGS", \
  61.         "A0",        "A1",        "A2",        "A3", \
  62.         "A4",        "A5",        "OCFP",        "LRA", \
  63.         "CNAME",    "LEXENV",    "L0",        "L1", \
  64.         "L2",        "CODE",        "???",        "LIP"
  65.